Tasks make calls to actions that perform specific and discreet activities to implement Business Logic. They take input arguments and return output variables. The inputs and outputs for the task are visible in the Edit task dialog under the Incoming and Outgoing tabs (see figure below). In the event an error occurs, the task may return an error variable, which is visible under the Error tab.
Figure: Edit task dialog
Types of Tasks
Tasks are color-coded by type as illustrated in the figure below.
- Blue boxes are manual tasks.
- Green boxes are automatic tasks.
- Pink boxes are start/end terminators.
- Purple shapes are operation tasks.
Figure: Sample Automation
Copy a Task Within an Automation
To copy a task within an automation:
- Select the task to be copied. The labels should become bold.
- Click the Copy task button in the upper right corner of the Automation Builder canvas.
- A copy of the selected task will appear on the canvas.
Edit a Task
To edit a task:
Double-click the task to open the Edit task dialog.
Automatic Task Properties
Manual Task Properties
Task properties may include:
Summary: Enter a brief task summary in the optional Summary field. This text displays on the task block. Tasks reference other tasks by their summary.
Description: Enter a description in the optional Description field.
Groups (for manual tasks only): Restrict who is authorized to work the task by assigning one or more groups.
- Type "Operations" in the Groups field. Matching group names will appear in a list after you begin typing.
- Click the correct group name to add that group to the task's groups. The group will not be added unless it is selected from the list. Add as many groups as desired.
Actor (for automatic tasks only): Execute automatic tasks by the system or a user by setting the Actor field.
- Itential (Pronghorn): The system executes the automatic task.
- job: Execute the automatic task as the user that started the job.
- Any previous manual task: Execute the automatic task as the user that worked a previous manual task.
Incoming parameters: (See figure above.)
Variable: The argument name; mandatory parameters are marked with an asterisk.
Type: Data type (boolean, string, number, array, object).
Reference Task: Defines the data source. Options include the following:
- job: A global variable. Job variables are set at the time a job is started or when a task's outgoing data is copied to a job variable. Job variables are visible to all tasks defined in the automation. Job variables are mutable. Some job variables are always present; others are defined by the collection of input job variables between all tasks in the automation.
- static: A constant; a value defined within the task properties.
- any prior task: Present in the current automation (listed by name in the dropdown).
Reference Variables (See table below.)
Reference Task Reference Variable job Defaults to same name as the task's parameter. Dropdown shows all job variables, including input arguments for every task whose reference task is the job. To set a custom job variable name, click EDIT and type the new name in Reference variable field. static Static value entered in Reference variable field. a prior task Name of an output variable from selected prior task.
Note: Avoid changing to another task's input variable, which could create variable type mismatch and other errors.
Outgoing parameters: (See figure above.)
- Variable: The task's return variable; the variable which is made available to any subsequent task in the workflow. Outgoing variables are immutable.
- Job Variables: To promote the task's return variable to a job variable, check the Job Variable box. This copies the outgoing variable's value to a job variable. Job variables are similar to global variables in that they are available to every task in the job.
- Job Variable Names: Defaults to the same name as the task's return variable. To set a custom name for the return variable, type the new name in the Job Variable Names field.
Error parameters: (See figure above.)
- Variable: The task's error variable, which is returned in the event of an error.
- Job Variables: To promote the task's error variable to a job variable, check the Job Variable box. This copies the error value to a job variable. Job variables are similar to global variables in that they are available to every task in the job.
- Job Variable Names: To set a custom name for the error variable, type the new name in the Job Variable Names field.
Click SAVE or UPDATE in the title bar to save changes.
Resize Task Boxes
For better visibility, the task boxes and their labels can be enlarged or reduced.
To increase or decrease the size of the task boxes:
- Click the Zoom In or Zoom Out tasks button
in the upper right corner of the Automation Builder canvas.
- Click SAVE or UPDATE in the title bar to save the resized task boxes.
Schedule a Task
You can restrict when an automated task will run by specifying a schedule. This is also defined as setting the run window for a task. Setting a 'run window' means the task will not run (once it is time to run) if the current time falls outside the 'run window.'
To schedule a task:
In an open automation, double-click an automated task to open the Edit task dialog.
Click the Run Window slider to set Scheduled to true.
Select the EDIT button to open a tab with the run window information.
Select Static from the new dropdown list to statically define the task's run window.
Select the days on which the task should run. The selected buttons will turn from white to blue.
Enter the Start Time and End Time in 24 HR format (HHMM) relative to the server's configured timezone.
Select Variable from the new dropdown list to pass the schedule at run time through a variable and configure the properties.
Reference task: Defines the data source. Options include:
- job
- static
- any prior task in the current automation (listed by name in the dropdown)
Reference variable:
job variable name
a static value
an earlier task's outgoing variable name
JSON Schema for schedule value
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "window": { "type": "object", "properties": { "sun": { "$id": "/properties/window/properties/sun", "type": "object", "description": "Schedule details for day of the week Sunday.", "properties": { "enable": { "type": "boolean", "description": "Will task run this day of the week?", "default": false, "examples": [ false ] }, "time": { "type": "object", "description": "When can task run this day of week.", "properties": { "from": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's beginning inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 200 ] }, "to": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's ending inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 229 ] } } } } }, "mon": { "$id": "/properties/window/properties/mon", "type": "object", "description": "Schedule details for day of the week Monday.", "properties": { "enable": { "type": "boolean", "description": "Will task run this day of the week?", "default": false, "examples": [ false ] }, "time": { "type": "object", "description": "When can task run this day of week.", "properties": { "from": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's beginning inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 200 ] }, "to": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's ending inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 229 ] } } } } }, "tues": { "$id": "/properties/window/properties/tues", "type": "object", "description": "Schedule details for day of the week Tuesday.", "properties": { "enable": { "type": "boolean", "description": "Will task run this day of the week?", "default": false, "examples": [ false ] }, "time": { "type": "object", "description": "When can task run this day of week.", "properties": { "from": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's beginning inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 200 ] }, "to": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's ending inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 229 ] } } } } }, "wed": { "$id": "/properties/window/properties/wed", "type": "object", "description": "Schedule details for day of the week Wednesday.", "properties": { "enable": { "type": "boolean", "description": "Will task run this day of the week?", "default": false, "examples": [ true ] }, "time": { "type": "object", "description": "When can task run this day of week.", "properties": { "from": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's beginning inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 200 ] }, "to": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's ending inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 229 ] } } } } }, "thur": { "$id": "/properties/window/properties/thur", "type": "object", "description": "Schedule details for day of the week Thursday.", "properties": { "enable": { "type": "boolean", "description": "Will task run this day of the week?", "default": false, "examples": [ true ] }, "time": { "type": "object", "description": "When can task run this day of week.", "properties": { "from": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's beginning inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 200 ] }, "to": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's ending inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 229 ] } } } } }, "fri": { "$id": "/properties/window/properties/fri", "type": "object", "description": "Schedule details for day of the week Friday.", "properties": { "enable": { "type": "boolean", "description": "Will task run this day of the week?", "default": false, "examples": [ false ] }, "time": { "type": "object", "description": "When can task run this day of week.", "properties": { "from": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's beginning inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 200 ] }, "to": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's ending inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 229 ] } } } } }, "sat": { "$id": "/properties/window/properties/sat", "type": "object", "description": "Schedule details for day of the week Saturday.", "properties": { "enable": { "type": "boolean", "description": "Will task run this day of the week?", "default": false, "examples": [ false ] }, "time": { "type": "object", "description": "When can task run this day of week.", "properties": { "from": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's beginning inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 200 ] }, "to": { "type": "integer", "description": "Time in 24-hour format (HHMM) and in the Itential server's time zone that identifies the time window's ending inside which the scheduled task is allowed to run.", "default": 0, "pattern": "[0-9]{1,4}", "examples": [ 229 ] } } } } } } } } }
Click SAVE in the task dialog to save the schedule.
Save your changes to the Automation by clicking SAVE in the footer. A confirmation box will appear to confirm the changes were saved.
Delete a Task
To delete a task:
- On the Automation Builder canvas, select the task you want to delete.
- Click the Delete button, or press the "d" key.
- Click SAVE or UPDATE in the title bar to save changes.